package main

import (
	"fmt"
)

/**
执行用时：84 ms, 在所有 Go 提交中击败了22.78%的用户
内存消耗：8.6 MB, 在所有 Go 提交中击败了61.33%的用户
 */
func maxArea(h []int) int {
	res := 0
	i, j := 0, len(h) - 1
	for i < j {
		res = max(res, min(h[i], h[j]) * (j - i))
		if h[i] > h[j] {
			j--
		} else {
			i++
		}
	}
	return res
}

// 求最大值
func max(a int, b int) int {
	if a > b {
		return a
	} else {
		return b
	}
}

// 求最小值
func min(a int, b int) int {
	if a > b {
		return b
	} else {
		return a
	}
}

func main() {
	h := []int{1, 8, 6, 2, 5, 4, 8, 3, 7}
	fmt.Println(maxArea(h))
}
